
//
//  WBHomeVC.swift
//  飞哥微博
//
//  Created by gary.liu on 16/12/24.
//  Copyright © 2016年 gary.liu. All rights reserved.
//

import UIKit

// 不加private，定义全局变量，尽量使用 private 修饰，否则到处都可以访问
private let cellId = "cellId"

class WBHomeVC: WBBaseVC {

    // 微博数据数组
    fileprivate lazy var statusList = [String]()
    
    /// 加载数据
    override func loadData() {
        
        print("开始加载数据")
        // 模拟 ‘延时’ 加载数据
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1){
            
            
            for i in 0..<20  {
                
                if self.isPullup {
                    self.statusList.append("上拉 \(i)")
                }
                else {
                    // 将数据插入数组的顶部
                    self.statusList.insert(i.description, at: 0)
                }
            }
            
            print("刷新表格")
            // 结束刷新控件
            self.refreshControl?.endRefreshing()
            // 恢复上拉刷新标记
            self.isPullup = false
            
            // 刷新表格
            self.tableView?.reloadData()
            
        }
        
    }
    
    // 显示好友
    @objc func showFriends() {
        print(#function)
        
        let vc = WBDemoViewController()
        // 每次第一次push时，都需要隐藏，所以我们可以重写push的方法
        // vc.hidesBottomBarWhenPushed = true
        navigationController?.pushViewController(vc, animated: true)
    }
}


// MARK: - 表格数据源方法，具体的数据源方法实现，不需要super
extension WBHomeVC {
    
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statusList.count
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        // 取 cell
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)
        // 设置 cell
        cell.textLabel?.text = statusList[indexPath.row]
        // 返回 cell
        return cell
    }
}

// MARK: - 设置界面
extension WBHomeVC {
    
    // 重写父类的方法
    override func setupTableView() {
        
        navItem.leftBarButtonItem = UIBarButtonItem(title: "好友", target: self, action: #selector(showFriends))
        
        // FIXME: 这里跟 OC 不一样，使用 UITableViewCell.self
        tableView?.register(UITableViewCell.self, forCellReuseIdentifier: cellId)
        
    }
}
